CSSã¹ã¯ããŒã«ã¹ãããã®åãè§£ãæŸã€è©³çްã¬ã€ããã¹ããããã€ã³ãã·ã¹ãã ã§ã¹ã ãŒãºãªã¹ã¯ããŒã«äœéšãäœæããã°ããŒãã«ãªãŒãã£ãšã³ã¹åãã«æé©åããã¹ããã©ã¯ãã£ã¹ãäŸãæŽå¯ã§ãŠã§ããã¶ã€ã³ãåäžãããŸãã
CSSã¹ã¯ããŒã«ã¹ããããããŒãžã£ãŒã®ç¿åŸïŒã¹ããããã€ã³ãã·ã¹ãã ã®åŸ¹åºè§£èª¬
åžžã«é²åãç¶ãããŠã§ããã¶ã€ã³ã®äžçã«ãããŠãçŽæçã§é åçãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åµé ã¯æãéèŠã§ãããããå®çŸããããã®åŒ·åãªãã¯ããã¯ã®äžã€ããCSSã¹ã¯ããŒã«ã¹ãããã®æŽ»çšã§ãããã®å æ¬çãªã¬ã€ãã§ã¯ãCSSã¹ã¯ããŒã«ã¹ããããããŒãžã£ãŒã®è€éããããã®æ©èœã®äžæ žã§ããã¹ããããã€ã³ãã·ã¹ãã ã«çŠç¹ãåœãŠãŠæ¢æ±ããŸãããã®ã¡ã«ããºã ããã¹ããã©ã¯ãã£ã¹ãå®è·µçãªã¢ããªã±ãŒã·ã§ã³ãæ·±ãæãäžããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã®ããã«ã¹ã ãŒãºã§äœ¿ããããã¹ã¯ããŒã«äœéšãäœæããããã®ç¥èãçæ§ã«æäŸããŸãã
CSSã¹ã¯ããŒã«ã¹ãããã®çè§£
CSSã¹ã¯ããŒã«ã¹ãããã¯ããŠãŒã¶ãŒãã¹ã¯ããŒã«ããéã«ã¹ã¯ããŒã«å¯èœãªã³ã³ããã®åäœãéçºè ãå¶åŸ¡ã§ããããã«ããCSSæ©èœã§ããèªç±ãªåœ¢åŒã®ã¹ã¯ããŒã«ãèš±å¯ããã®ã§ã¯ãªããã³ã³ãã³ãã¯å®çŸ©ãããäœçœ®ããã°ãã°ãã¹ããããã€ã³ãããšåŒã°ããå Žæã«ã¹ãããããŸãããã®æ©èœã¯ç¹ã«ä»¥äžã®ç¹ã§äŸ¡å€ããããŸãã
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ïŒUXïŒã®åäžïŒã³ã³ãã³ãã»ã¯ã·ã§ã³éã®ã¹ã ãŒãºãªé·ç§»ã«ãããèªç¥è² è·ã軜æžããŸãã
- é åçãªã€ã³ã¿ãŒãã§ãŒã¹ã®äœæïŒã€ã³ã¿ã©ã¯ãã£ããªã«ã«ãŒã»ã«ãç»åã®ã£ã©ãªãŒãã¯ã³ããŒãžãŠã§ããµã€ãã«å€§ãã«åœ¹ç«ã¡ãŸãã
- ããã²ãŒã·ã§ã³ã®åŒ·åïŒæç¢ºã«å®çŸ©ãããã¹ããããã€ã³ãã¯èŠèŠçãªæããããšããŠæ©èœãããŠãŒã¶ãŒãã³ã³ãã³ããžãšèªå°ããŸãã
äž»ãªå©ç¹ã¯ãããå¶åŸ¡ãããäºæž¬å¯èœãªã¹ã¯ããŒã«äœéšãçã¿åºãããšã§ããããã¯ãæå³ããªãã¹ã¯ããŒã«ãé »ç¹ã«èµ·ããã¿ããã¹ã¯ãªãŒã³ããã€ã¹ã§ç¹ã«éèŠã§ããé©åã«å®è£ ãããã¹ã¯ããŒã«ã¹ãããã¯ããŠã§ããµã€ãã®èªèãããå質ãšãããã§ãã·ã§ããªãºã ãå€§å¹ ã«åäžãããããšãã§ããŸãã
äžæ žæŠå¿µïŒã¹ããããã€ã³ã
CSSã¹ã¯ããŒã«ã¹ãããã®äžæ žã«ã¯ã¹ããããã€ã³ãã®æŠå¿µããããŸãããããã¯ããŠãŒã¶ãŒãã¹ã¯ããŒã«ã忢ãããšãã«ã¹ã¯ããŒã«å¯èœãªã³ã³ãããŸãã¯ãã®åèŠçŽ ãäœçœ®åããããæ£ç¢ºãªäœçœ®ã§ãããããã®ãã€ã³ããå®çŸ©ããããšã¯ãæãŸããã¹ã¯ããŒã«åäœãå®çŸããããã«äžå¯æ¬ ã§ãã`scroll-snap-type`ãšãã®é¢é£ããããã£ã¯ãã¹ãããåäœãå¶åŸ¡ããããã®äž»èŠãªããŒã«ã§ããäž»ãªå€ã¯ä»¥äžã®ãšããã§ãã
- `scroll-snap-type: mandatory;`ïŒã³ã³ãã³ãã¯å®çŸ©ãããã¹ããããã€ã³ãã«å¿ ãã¹ãããããŸããããã«ãããæãå¶åŸ¡ãããã¹ã¯ããŒã«äœéšãæäŸãããŸãããã©ãŠã¶ã¯åžžã«æãè¿ãã¹ããããã€ã³ãã«ã¹ãããããŸãã
- `scroll-snap-type: proximity;`ïŒã³ã³ãã³ãã¯ã¹ããããã€ã³ãã«ã¹ãããããããšããŸãããåžžã«ãããªãããã§ã¯ãããŸãããããã¯ããæè»ãªã¢ãããŒããæäŸããããçšåºŠã®èªç±ãªã¹ã¯ããŒã«ãå¯èœã«ããŸããç¹ã«é·ããªã¹ãã®ãããªé£ç¶çãªã³ã³ãã³ãã«åœ¹ç«ã¡ãŸãã
- `scroll-snap-align: start | end | center;`ïŒãã®ããããã£ã¯ãã¹ããããã€ã³ããã¹ã¯ããŒã«ã³ã³ããã®ãšããžãšã©ã®ããã«äœçœ®åããããããå®çŸ©ããŸãã`start`ã¯ã¹ããããã€ã³ãã®éå§ãšããžãã³ã³ããã®éå§ãšããžã«ã`end`ã¯ã¹ããããã€ã³ãã®çµäºãšããžã«ã`center`ã¯ã¹ããããã€ã³ãã®äžå€®ãã³ã³ããã®äžå€®ã«äœçœ®åããããŸãã
ã¹ã¯ããŒã«ã¹ãããã®ã»ããã¢ããïŒå®è·µã¬ã€ã
ã¹ã¯ããŒã«ã¹ãããã®å®è£ ã説æããããã«ãå®è·µçãªäŸãèŠãŠãããŸããããã·ã³ãã«ãªæ°Žå¹³ã¹ã¯ããŒã«ã«ã«ãŒã»ã«ãäœæããŸãããã®äŸã¯ãã¢ã¯ã»ã·ããªãã£ã確ä¿ããããŸããŸãªç»é¢ãµã€ãºãèæ ®ããŠãã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã«èšèšãããŸãã
HTMLæ§é ïŒ
<div class="scroll-container">
<div class="scroll-item">Item 1</div>
<div class="scroll-item">Item 2</div>
<div class="scroll-item">Item 3</div>
<div class="scroll-item">Item 4</div>
</div>
CSSã¹ã¿ã€ã«ïŒ
åœéçãªã¢ã¯ã»ã·ããªãã£ãèæ ®ããããã®ã«ã«ãŒã»ã«ãåäœãããCSSã³ãŒãã以äžã«ç€ºããŸããæè»ãªåäœïŒäŸïŒ`vw`ïŒãšã¬ã¹ãã³ã·ããã¶ã€ã³ã®å®è·µã«æ³šç®ããŠãã ããã
.scroll-container {
display: flex;
overflow-x: scroll; /* Horizontal scrolling */
scroll-snap-type: x mandatory; /* 'x' for horizontal scrolling */
width: 100%;
scroll-behavior: smooth; /* Smooth scrolling effect */
-webkit-overflow-scrolling: touch; /* For iOS smooth scrolling */
}
.scroll-item {
flex-shrink: 0; /* Prevent items from shrinking */
width: 100vw; /* Each item occupies the viewport width */
height: 100vh; /* Each item occupies the viewport height */
display: flex;
justify-content: center;
align-items: center;
font-size: 2em;
background-color: #f0f0f0;
border: 1px solid #ccc;
scroll-snap-align: start; /* Align items to the start of the scroll container */
}
.scroll-item:nth-child(1) {
background-color: #ffcccc;
}
.scroll-item:nth-child(2) {
background-color: #ccffcc;
}
.scroll-item:nth-child(3) {
background-color: #ccccff;
}
.scroll-item:nth-child(4) {
background-color: #ffffcc;
}
解説ïŒ
- `scroll-container`ïŒãã®divã¯ã¹ã¯ããŒã«å¯èœãªã³ã³ããã§ãã`overflow-x: scroll`ãèšå®ããŠæ°Žå¹³ã¹ã¯ããŒã«ãæå¹ã«ããŸãã`scroll-snap-type: x mandatory`ã¯ãã³ã³ãã³ããæ°Žå¹³ã«ã¹ãããããåžžã«å®çŸ©ãããã¹ããããã€ã³ãã«ã¹ãããããããšãä¿èšŒããŸãã`scroll-behavior: smooth`ã¯èŠèŠçãªé åã远å ããŸãã
- `scroll-item`ïŒåã¹ã¯ããŒã«ã¢ã€ãã ã¯ã¹ããããã€ã³ãã衚ããŸãã`scroll-snap-align: start`ã¯ãåã¢ã€ãã ãã³ã³ããã®éå§äœçœ®ã«ã¹ãããããããã«æç€ºããã¢ã€ãã ããã¥ãŒããŒããåããããã«ããŸãã`flex-shrink: 0`ãš`width: 100vw`ã¯ãã¢ã€ãã ã®å¹ ãå¶åŸ¡ããäºæãã¬åäœãé²ãããã«éèŠã§ãã
ãã®åºæ¬çãªäŸã§ã¯ãåã¢ã€ãã ããã¥ãŒããŒãã®å šå¹ ãå ããå®ç§ã«ãã¥ãŒã«ã¹ãããããæ°Žå¹³ã¹ã¯ããŒã«ã«ã«ãŒã»ã«ãäœæããŸããããã¯ãããããèšèªã®ãŠã§ããµã€ãã«é©ãããããããã説æã§ãã
é«åºŠãªãã¯ããã¯ãšã«ã¹ã¿ãã€ãº
åºæ¬çãªå 容ãè¶ ããŠãCSSã¹ã¯ããŒã«ã¹ãããã¯ã¹ã¯ããŒã«äœéšãã«ã¹ã¿ãã€ãºãã埮調æŽããããã®ããã€ãã®é«åºŠãªãã¯ããã¯ãæäŸããŸãã
1. `scroll-padding`ãš`scroll-margin`
ãããã®ããããã£ã¯ãã¹ããããã€ã³ãã®äœçœ®ããã詳现ã«å¶åŸ¡ããã¹ããããã€ã³ããšãã¥ãŒããŒããšããžéã®è·é¢ã«åœ±é¿ãäžããŸãã
- `scroll-padding`ïŒã¹ã¯ããŒã«ã³ã³ããã«é©çšãããã¹ããããã€ã³ãã®åšå²ã®ããã£ã³ã°é åãå®çŸ©ããŸããããã¯ãåºå®ããããŒãããã¿ãŒã«ãã£ãŠã³ã³ãã³ããé ããã®ãé²ãã®ã«åœ¹ç«ã¡ãŸãã
- `scroll-margin`ïŒã¹ãããã¿ãŒã²ããïŒäŸã§ã¯`scroll-item`èŠçŽ ïŒã«é©çšããããã®åšå²ã®ããŒãžã³ãå®çŸ©ããŸããã¹ãããã¿ãŒã²ãããã³ã³ããã®ãšããžã«å¯ŸããŠã©ãã ãé¢ããŠäœçœ®åããããããã«åœ±é¿ããŸãã
äŸãã°ãåºå®ããããŒãèããŠã¿ãŸãããã`.scroll-container`ã§`scroll-padding-top`ã䜿çšããŠäžéšã«ã¹ããŒã¹ãäœæããã¹ãããæã«ã³ã³ãã³ããããããŒã®åŸãã«é ããªãããã«ããããšãã§ããŸããããã¯ããŠã§ããµã€ãã«ãã£ãŠç°ãªãåºå®èŠçŽ ããããããåœéåã«ãšã£ãŠäžå¯æ¬ ã§ãã
2. ç¹å®ã®èŠçŽ ã®ã¹ããã
ã¹ã¯ããŒã«ã¢ã€ãã å šäœãã¹ããããã代ããã«ãã¹ã¯ããŒã«ã¢ã€ãã å ã®åã ã®èŠçŽ ãã¿ãŒã²ããã«ããããšãã§ããŸããããã¯ãç¹å®ã®èŠçŽ ã«`scroll-snap-align`ããããã£ã䜿çšããããšã§å®çŸãããŸããããã«ãããç¹ã«åçã«çæãããã³ã³ãã³ããæ±ãå Žåã«ãããè€éãªã¬ã€ã¢ãŠãã«å¯ŸããŠãã现ããªå¶åŸ¡ãå¯èœã«ãªããŸãã
.scroll-item {
display: flex;
flex-direction: column;
align-items: center;
height: 100vh;
scroll-snap-align: start;
}
.content-section {
margin-top: 20px;
scroll-snap-align: center; /* Snaps this section to the center */
}
ãã®äŸã§ã¯ã`.scroll-item`å šäœã¯`scroll-snap-align: start`ã§ãããã¹ã¯ããŒã«ã¢ã€ãã å ã®ç¹å®ã®`content-section`èŠçŽ ã¯`scroll-snap-align: center`ã§ããããã®ã¢ã€ãã å ã§äžå€®ã«ã¹ããããã广ãçã¿åºããŠããŸãã
3. ã¹ã¯ããŒã«ã¹ããããšJavaScriptã®çµã¿åãã
CSSã¹ã¯ããŒã«ã¹ãããã¯åºæ¬çãªå¶åŸ¡ãæäŸããŸãããJavaScriptã䜿çšããããšã§ãã«ã¹ã¿ã ã¹ã¯ããŒã«ã¢ãã¡ãŒã·ã§ã³ãããã°ã¬ã¹ã€ã³ãžã±ãŒã¿ãŒãåçãªã³ã³ãã³ãæŽæ°ãªã©ãæ©èœã匷åããããã«é«åºŠãªã€ã³ã¿ã©ã¯ã·ã§ã³ãäœæã§ããŸããããã¯ãã¹ã¯ãªãŒã³ãªãŒããŒãã¹ã¯ããŒã«ã¹ããããããã³ã³ãã³ããããç°¡åã«ããã²ãŒãã§ããããã«ãããªã©ãã¢ã¯ã»ã·ããªãã£ã®ããã«ã³ã³ãã³ããèšèšããéã«ç¹ã«åœ¹ç«ã¡ãŸãã
äŸãã°ãJavaScriptã䜿çšããŠä»¥äžã®ããšãã§ããŸãã
- çŸåšã®ã¹ããããã€ã³ãã远跡ããããã°ã¬ã¹ããŒãããã²ãŒã·ã§ã³ã€ã³ãžã±ãŒã¿ãŒãæŽæ°ããŸãã
- ãŠãŒã¶ãŒã®æäœãããŒã¿æŽæ°ã«åºã¥ããŠã¹ããããã€ã³ããåçã«è¿œå ãŸãã¯åé€ããŸãã
- ã¹ãããåäœãè£å®ããã«ã¹ã¿ã ã¹ã¯ããŒã«ã¢ãã¡ãŒã·ã§ã³ãäœæããŸãã
ã¹ã¯ããŒã«ã¹ããããçšããã°ããŒãã«ãŠã§ããã¶ã€ã³ã®ãã¹ããã©ã¯ãã£ã¹
ã¹ã¯ããŒã«ã¹ãããã®å®è£ ãã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«ã·ãŒã ã¬ã¹ã§å æ¬çãªäœéšãæäŸããããã«ã以äžã®ãã¹ããã©ã¯ãã£ã¹ã«åŸã£ãŠãã ããã
1. ã¬ã¹ãã³ã·ããã¶ã€ã³
éèŠãªèæ ®äºé ïŒã¬ã€ã¢ãŠãã¯ãå°åã¢ãã€ã«ããã€ã¹ãã倧åãã¹ã¯ããããã£ã¹ãã¬ã€ãŸã§ãããŸããŸãªç»é¢ãµã€ãºã«å®ç§ã«é©å¿ããå¿ èŠããããŸããæµåçãªã¬ã€ã¢ãŠãïŒããŒã»ã³ããŒãžã`vw`ã`vh`ã䜿çšïŒãæè»ãªç»åãããã³ã¡ãã£ã¢ã¯ãšãªãæ¡çšããŠãç»é¢ãµã€ãºã«åºã¥ããŠã¹ã¿ã€ã«ã調æŽããŸãã CSSã®`min-width`ãš`max-width`ã䜿çšããŠãé©åãªç»é¢ãµã€ãºåŠçãæå®ããã¬ã€ã¢ãŠããã°ããŒãã«ãªããã€ã¹ã§åŽ©ããªãããã«ããããšãæ€èšããŠãã ããã
äŸïŒã³ã³ãã³ãã»ã¯ã·ã§ã³ã«ã¯`width: 90%`ãš`max-width: 1200px`ã䜿çšãããã¹ãŠã®ããã€ã¹ã§é©åã«ã¹ã±ãŒãªã³ã°ããããã«ããŸããäžçã®ã€ã³ã¿ãŒãããã³ãã¥ããã£ã¯ããŸããŸãªããã€ã¹ãšç»é¢ãµã€ãºã䜿çšããŠããŸãããã¹ãŠã®ããã€ã¹ã§ã³ã³ãã³ãã®èªã¿ããããšã¢ã¯ã»ã·ããªãã£ã確ä¿ããŠãã ããã
2. ã¢ã¯ã»ã·ããªãã£ïŒWCAGã¬ã€ãã©ã€ã³ïŒ
éèŠãªèæ ®äºé ïŒãã¶ã€ã³ã¯ãé害ãæã€äººã ãå«ããã¹ãŠã®äººã ãå©çšã§ãããã®ã§ãªããã°ãªããŸããããŠã§ãã³ã³ãã³ãã¢ã¯ã»ã·ããªãã£ã¬ã€ãã©ã€ã³ïŒWCAGïŒã«æºæ ããå æ¬æ§ã確ä¿ããŠãã ããã
- ããŒããŒãããã²ãŒã·ã§ã³ïŒãŠãŒã¶ãŒãããŒããŒãã®ã¿ã䜿çšããŠã¹ã¯ããŒã«å¯èœãªã³ã³ãã³ããããã²ãŒãã§ããããšã確èªããŸãã
- ã¹ã¯ãªãŒã³ãªãŒããŒäºææ§ïŒé©åãªARIA屿§ïŒ`aria-label`ã`aria-describedby`ãªã©ïŒãå®è£ ããŠãã³ã³ãã³ãã«ã»ãã³ãã£ãã¯ãªæå³ãäžããã¹ã¯ãªãŒã³ãªãŒããŒãŠãŒã¶ãŒãã¬ã€ãããŸããç»åã«ã¯ä»£æ¿ããã¹ãã远å ããããšã確å®ã«ããŸãã
- ååãªã³ã³ãã©ã¹ãæ¯ïŒèŠèŠé害ãæã€ãŠãŒã¶ãŒã«ãšã£ãŠã®èªã¿ãããã確ä¿ããããã«ãé«ãè²ã³ã³ãã©ã¹ãã䜿çšããŸãã
- æèŠã«åºã¥ããæç€ºãé¿ããïŒãŠãŒã¶ããªãã£ã®ããã«ãããããã¯ãªãã¯ãã®ä»£ããã«ã詳现æ å ±ã衚瀺ãã䜿çšããŸãã
äŸïŒã«ã«ãŒã»ã«ããã²ãŒã·ã§ã³ãã¿ã³ã«ARIAã©ãã«ïŒäŸïŒ`<button aria-label="次ã®ã¢ã€ãã ãž">`ïŒã远å ããã¹ã¯ãªãŒã³ãªãŒããŒãããŒããŒããŠãŒã¶ãŒãèŠçŽ ã®ç®çãçè§£ã§ããããã«ããŸãã
3. ããã©ãŒãã³ã¹æé©å
éèŠãªèæ ®äºé ïŒãã¹ãŠã®ããã€ã¹ã§é«éãªèªã¿èŸŒã¿æéãšã¹ã ãŒãºãªã¹ã¯ããŒã«ãç®æããŸããç»åãæé©åããã³ãŒããæå°åããå¹ççãªCSSãã¯ããã¯ã䜿çšããŸãã
- ç»åæé©åïŒç»åãå§çž®ããé©åãªç»å圢åŒïŒäŸïŒããè¯ãå§çž®ã®ããã«WebPïŒã䜿çšããŸããç»åãé å»¶èªã¿èŸŒã¿ïŒãã¥ãŒããŒãã«è¡šç€ºããããã«ãªã£ããšãã®ã¿èªã¿èŸŒã¿ïŒããŸãã
- CSSæé©åïŒCSSãã¡ã€ã«ãæå°åããäžèŠãªã¹ã¿ã€ã«ãåé€ããé床ã«è€éãªCSSã»ã¬ã¯ã¿ãŒãé¿ããŸãã
- JavaScriptæé©åïŒJavaScriptãã¡ã€ã«ãæå°åããéèŠã§ãªãJavaScriptã®èªã¿èŸŒã¿ãé å»¶ãããé床ãªDOMæäœãé¿ããŸãã
äŸïŒWebPageTestãGoogle PageSpeed Insightsã®ãããªããŒã«ã䜿çšããŠãããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ãããŠã§ããµã€ããæé©åããŸããããã«ãããã°ããŒãã«ãŠãŒã¶ãŒã«ãšã£ãŠããé«éãªäœéšãä¿èšŒãããŸãã
4. åœéåãšããŒã«ãªãŒãŒã·ã§ã³
éèŠãªèæ ®äºé ïŒãŠã§ããµã€ãããç°ãªãèšèªãæåãå°åã«å®¹æã«é©å¿ã§ããããã«èšèšããŸããããã«ã¯ãåãªã翻蚳以äžã®èæ ®äºé ãå«ãŸããŸãã
- UTF-8ãšã³ã³ãŒãã£ã³ã°ã®äœ¿çšïŒãã®æåãšã³ã³ãŒãã£ã³ã°ã¯ãå¹ åºãèšèªãšç¹æ®æåããµããŒãããŸãã
- ç»åå ã®ããã¹ããé¿ããïŒç¿»èš³ãšã¡ã³ããã³ã¹ã容æã«ããããã«ã代ããã«ããã¹ãã䜿çšããŸãã
- æ¥ä»ãšæ°å€ã®ãã©ãŒãããïŒãŠãŒã¶ãŒã®ãã±ãŒã«ã«å¿ããé©åãªæ¥ä»ãšæ°å€ã®ãã©ãŒãããã®ããã«ã`Intl`ã®ãããªã©ã€ãã©ãªã®äœ¿çšãæ€èšããŸãã
- å³ããå·ŠïŒRTLïŒã®ãµããŒãïŒå³ããå·Šã«èªãèšèªïŒäŸïŒã¢ã©ãã¢èªãããã©ã€èªïŒãã¿ãŒã²ããã«ããå Žåã¯ãã¬ã€ã¢ãŠããRTLæ¹åã«å¯Ÿå¿ã§ããããšã確èªããŸãã
- é貚衚瀺ïŒãŠãŒã¶ãŒã®å°åã«é©ããé貚èšå·ã衚瀺ã§ããé貚ãã©ãŒããã¿ãŒã䜿çšããŸãã
äŸïŒ`<meta name="language" content="en">`ã¿ã°ã䜿çšããŠãã³ã³ãã³ãã®èšèªããã©ãŠã¶ã«éç¥ããŸããåœéçãªãªãŒãã£ãšã³ã¹ã®å Žåãç¹ã«çŸå°æéãé貚ãèŠå¶ãããå Žåã«ã¯ãçŸå°ã®æåã«åããããŠã§ããµã€ããšã³ã³ãã³ãã®ä»£æ¿ããŒãžã§ã³ãæäŸããããšãéèŠã§ãã
5. ãŠãŒã¶ãŒãã¹ã
éèŠãªèæ ®äºé ïŒå®éã®ããã€ã¹ã倿§ãªèæ¯ãæã€ãŠãŒã¶ãŒã§ãã¶ã€ã³ããã¹ããããŠãŒã¶ããªãã£ã®åé¡ç¹ãæ¹åã®äœå°ãç¹å®ããŸãããŠãŒã¶ãŒãã¹ãã¯ãã°ããŒãã«ãŠãŒã¶ãŒåãã«ãã¶ã€ã³ããäžã§éèŠã§ãã
- ã¯ãã¹ãã©ãŠã¶ãã¹ãïŒããŸããŸãªãã©ãŠã¶ïŒChromeãFirefoxãSafariãEdgeïŒã§ãã¹ãããäžè²«æ§ã確ä¿ããŸãã
- ã¯ãã¹ããã€ã¹ãã¹ãïŒããŸããŸãªç»é¢ãµã€ãºã®ç°ãªãããã€ã¹ïŒãã¹ã¯ããããã©ããããããã¿ãã¬ãããã¹ããŒããã©ã³ïŒã§ãã¹ãããŸãã
- ãŠãŒã¶ããªãã£ãã¹ãïŒç°ãªãåœãæåãæã€å人ã§ãŠãŒã¶ãŒãã¹ãã宿œãããŠãŒã¶ããªãã£ã«é¢ãããã£ãŒãããã¯ãåéããæœåšçãªåé¡ãç¹å®ããŸããç°ãªãèšèªè©±è ããŠã§ããµã€ããšã©ã®ããã«ããåããããã芳å¯ããŸãã
äŸïŒãªã³ã©ã€ã³ãŠãŒã¶ãŒãã¹ããã©ãããã©ãŒã ãå©çšããããç°ãªãåœã®åå è ãåéããŠããŠã§ããµã€ãã®ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãè©äŸ¡ããŸãããã©ãŒã ã®ãŠãŒã¶ããªãã£ãèæ ®ããŸããå°åã«ãã£ãŠç°ãªãèŠä»¶ããããããããèæ ®ã«å ¥ããå¿ èŠããããŸãã
äžè¬çãªèª²é¡ãžã®å¯ŸåŠ
ã¹ã¯ããŒã«ã¹ãããã®å®è£ ã«ã¯ããã€ãã®èª²é¡ã䌎ãããšããããŸããããã§ã¯ãæœåšçãªåé¡ç¹ãšãã®å¯ŸåŠæ³ãããã€ã玹ä»ããŸãã
1. ãã©ãŠã¶äºææ§
CSSã¹ã¯ããŒã«ã¹ãããã¯åºããµããŒããããŠããŸãããç°ãªããã©ãŠã¶ãããŒãžã§ã³éã§ã®äºææ§ã確ä¿ããŠãã ãããCanIUse.comãªã©ã®ãªãœãŒã¹ã§ãã©ãŠã¶ãµããŒãã確èªããŸããå€ããã©ãŠã¶ã«ã¯ãã©ãŒã«ããã¯ãæäŸããŸãã
解決çïŒå®éšçãªããããã£ã«ã¯ãã³ããŒãã¬ãã£ãã¯ã¹ã䜿çšããäºææ§ã確ä¿ããæšæºãå®å šã«ãµããŒãããªãå€ããã©ãŠã¶ã«ã¯ã°ã¬ãŒã¹ãã«ãã°ã©ããŒã·ã§ã³ãæäŸããŸããã¿ãŒã²ãããšãªããã©ãŠã¶å šäœã§åŸ¹åºçã«ãã¹ãããŸããããªãã£ã«ãæ€èšããŠãã ãããããã¯ãå€ããã©ãŠã¶ããã€ãã£ãã§ãµããŒãããŠããªãæ©èœã®ãµããŒããæäŸããã³ãŒãã¹ããããã§ããããªãã£ã«ã¯äººæ°ã®ãããã©ãŠã¶ã®ã¬ã¬ã·ãŒããŒãžã§ã³ããµããŒãããã®ã«åœ¹ç«ã¡ãŸãããããªãã£ã«ãã°ããŒãã«ããã©ãŒãã³ã¹ã«äžãã圱é¿ããã¹ãããããšãéèŠã§ãã
2. è€éãªã¬ã€ã¢ãŠãã«ãããããã©ãŒãã³ã¹
å€ãã®ã¹ããããã€ã³ããæã€è€éãªã¬ã€ã¢ãŠãã¯ãç¹ã«äœã¹ããã¯ã®ããã€ã¹ã§ã¯ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸããé床ãªCSSã®äœ¿çšã¯ããã©ãŒãã³ã¹ã劚ããå¯èœæ§ããããŸãã
解決çïŒCSSãšHTMLãæé©åããŸããç»åã®é å»¶èªã¿èŸŒã¿ãªã©ã®ãã¯ããã¯ã®äœ¿çšãæ€èšããŸããå¯èœã§ããã°DOMèŠçŽ ã®æ°ãæžãããé床ã«è€éãªCSSã»ã¬ã¯ã¿ãŒãé¿ããŸããã³ãŒãåå²ãå®è£ ãããŠãŒã¶ãŒãå¿ èŠãªãšãã«ã®ã¿å¿ èŠãªãªãœãŒã¹ãèªã¿èŸŒã¿ãŸããç¹ã«JavaScriptã©ã€ãã©ãªã®ãã¡ã€ã«ãµã€ãºã«ã¯æ³šæããŠãã ããã
3. é害ãæã€ãŠãŒã¶ãŒãžã®ã¢ã¯ã»ã·ããªãã£
äžé©åãªå®è£ ã¯ãé害ãæã€ãŠãŒã¶ãŒã®ã¢ã¯ã»ã·ããªãã£ã«æªåœ±é¿ãäžããå¯èœæ§ããããŸããäŸãã°ãããŒããŒãã®ã¿ã§ã®ããã²ãŒã·ã§ã³ãå°é£ã«ããããšãªã©ã§ãã
解決çïŒåžžã«WCAGã¬ã€ãã©ã€ã³ã«åŸã£ãŠã¢ã¯ã»ã·ããªãã£ãåªå ããŸããããŒããŒãããã²ãŒã·ã§ã³ãçŽæçã§ããããšã確èªãããã¹ãŠã®ã€ã³ã¿ã©ã¯ãã£ãèŠçŽ ãARIA屿§ã§é©åã«ã©ãã«ä»ããããŠããããšã確èªããŸããã¹ã¯ãªãŒã³ãªãŒããŒã§å®è£ ããã¹ãããã¢ã¯ã»ã·ããªãã£ã®åé¡ãç¹å®ããŸããã³ã³ãã³ãããã¹ãŠã®äººã«ãšã£ãŠç°¡åã«ã¢ã¯ã»ã¹ã§ããããã²ãŒãã§ããããšã確å®ã«ããŸããäŸãã°ãããŒããŒãã®ã¿ãé åºã¯è«ççã§ããã¹ãã§ããæè¡ãžã®ç¿ç床ãç°ãªãã°ããŒãã«ãŠãŒã¶ãŒã®ããŒãºãèæ ®ããŸããã¹ã¯ãªãŒã³ãªãŒããŒã®äºææ§ãšããã²ãŒã·ã§ã³ã®å®¹æããèæ ®ããŸãã
4. ããã€ã¹åºæã®åé¡
ã¹ã¯ããŒã«åäœã¯ãã¿ããã¹ã¯ãªãŒã³ãã©ã³ãã¿ãã¬ãããããŠã¹ããã©ãã¯ããããåãããã¹ã¯ãããã³ã³ãã¥ãŒã¿ãŒãªã©ãããã€ã¹éã§å€§ããç°ãªãå¯èœæ§ããããŸãã
解決çïŒå¹ åºãããã€ã¹ãšãã©ãŠã¶ã§å®è£ ããã¹ãããŸããã¿ããã€ãã³ãã«ããã¹ã ãŒãºãªã¹ã¯ããŒã«ãæäŸããããšã§ãããã€ã¹åºæã®ã¹ã¯ããŒã«åé¡ã«å¯ŸåŠããŸããã¬ã¹ãã³ã·ããã¶ã€ã³ãå®è£ ããããã«å¿ããŠã¹ã¯ããŒã«ã¹ãããã®å®è£ ãé©å¿ãããŸãããŸããç°ãªãã¹ã¯ããŒã«äœéšã奜ããŠãŒã¶ãŒã®ããã«ã代æ¿ã³ã³ãã³ããæ©èœãæäŸããããšãæ€èšããŠãã ããã
å°æ¥ã®ãã¬ã³ããšã€ãããŒã·ã§ã³
ãŠã§ãéçºã®äžçã¯åžžã«é²åããŠãããCSSã¹ã¯ããŒã«ã¹ããããäŸå€ã§ã¯ãããŸãããäºæž¬ãããå°æ¥ã®ãã¬ã³ããšã€ãããŒã·ã§ã³ã¯ä»¥äžã®ãšããã§ãã
- ããé«åºŠãªå¶åŸ¡ïŒã¹ã¯ããŒã«åäœã«å¯Ÿãããããã现ããå¶åŸ¡ãæäŸãããããCSSã¹ã¯ããŒã«ã¹ããã仿§ã®ãããªãæŽç·ŽãæåŸ ãããŸããããã«ã¯ãã«ã¹ã¿ã ã€ãŒãžã³ã°é¢æ°ãããæŽç·Žãããã¢ãã¡ãŒã·ã§ã³å¹æã®ãªãã·ã§ã³ãå«ãŸããŸãã
- ã¢ãã¡ãŒã·ã§ã³ãšã®ã·ãŒã ã¬ã¹ãªçµ±åïŒã¹ã¯ããŒã«ã¹ããããšCSSã¢ãã¡ãŒã·ã§ã³ããã³ãã©ã³ãžã·ã§ã³ã®ç·å¯ãªçµ±åã«ããããããã€ãããã¯ã§èŠèŠçã«é åçãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãå¯èœã«ãªããŸãã
- 人工ç¥èœïŒAIïŒã掻çšããã¹ã¯ããŒã«ã¹ãããïŒãŠãŒã¶ãŒã®è¡åãã³ã³ãã³ãã®ç¹æ§ã«åºã¥ããŠã¹ã¯ããŒã«ã¹ãããåäœãèªåçã«æé©åããAIæèŒããŒã«ãç»å Žããå¯èœæ§ããããŸãã
ãŠã§ããã¶ã€ã³ã®æªæ¥ã¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®åäžã«ããã£ãŠããŸããã¹ã¯ããŒã«åäœã«ãããã€ãããŒã·ã§ã³ãšæ¹åã®å¢å ãäºæž¬ããŠãã ãããã³ã³ãã³ããç°¡åã«ããã²ãŒãã§ããææ°ã®ã¢ã¯ã»ã·ããªãã£åºæºã«æºæ ããåå°åã®èšèªãšæåçãªè©³çްã«åãããŠèª¿æŽãããŠããããšã確å®ã«ããŸãã
çµè«
CSSã¹ã¯ããŒã«ã¹ãããã¯ã䜿ããããé åçãªã¹ã¯ããŒã«äœéšãäœæããããã®åŒ·åãã€ãšã¬ã¬ã³ããªãœãªã¥ãŒã·ã§ã³ãæäŸããŸããã¹ããããã€ã³ãã·ã¹ãã ãç¿åŸãããã¹ããã©ã¯ãã£ã¹ã«åŸãããšã§ããŠã§ããµã€ãã®ãŠãŒã¶ããªãã£ãšé åãå€§å¹ ã«åäžãããããšãã§ããŸããç¹ã«ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã«èšèšããå Žåãåžžã«ã¢ã¯ã»ã·ããªãã£ãã¬ã¹ãã³ã·ããã¶ã€ã³ãããã³ããã©ãŒãã³ã¹æé©åãåªå ããããšãå¿ããªãã§ãã ããããŠã§ããé²åãç¶ããã«ã€ããŠããããã®æ©èœãçè§£ããããšã¯ãŠã§ããã¶ã€ã³ã®ç®æšãéæããããã«äžå¯æ¬ ã«ãªããŸããååãåãå ¥ããããŸããŸãªãã¯ããã¯ã詊ãããŠã§ããã¶ã€ã³ã®ææ°ãã¬ã³ããææ¡ããäžçäžã®ãŠãŒã¶ãŒã«åè¶ãããªã³ã©ã€ã³äœéšãåµé ããŠãã ããã
ãã®ã¬ã€ãã¯ãã¹ã¯ããŒã«ã¹ããããç¿åŸããå¯èœãªéãæé«ã®ã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããããã®ããŒã«ãæäŸããŸãããå®è£ ãç¶ç¶çã«ãã¹ãããã³æ¹è¯ããææ°ã®ãã¬ã³ããåžžã«ææ¡ããŠãäžçäžã®ãŠãŒã¶ãŒã«ãšã£ãŠæãé¢é£æ§ãé«ããçŽæçã§ã¢ã¯ã»ã¹ããããäœéšãæ§ç¯ããŠãã ããã